home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / oleo130s.zip / OLEO130S.TAR / oleo-1.3 / font.h < prev    next >
C/C++ Source or Header  |  1993-03-12  |  3KB  |  84 lines

  1. #ifndef FONTH
  2. #define FONTH
  3.  
  4. /*    Copyright (C) 1992, 1993 Free Software Foundation, Inc.
  5.  
  6. This program is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with this software; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19. /*  t. lord    Sat Sep 12 13:46:16 1992    */
  20.  
  21.  
  22.  
  23. #include "global.h"
  24. #include "line.h"
  25.  
  26.  
  27. /* Oleo' concept of a font family: */
  28. struct font_names
  29. {
  30.   struct font_names * next;
  31.  
  32.   char * oleo_name;        /* like `times' */
  33.   char * x_name;        /* like `*times-medium-r-*'.  In particular,
  34.                  * the defintion will only scale properly
  35.                  * if the point size is wild-carded.
  36.                  */
  37.   char * ps_name;        /* like `TimesRoman'. */
  38. };
  39.  
  40. /* Oleo's concept of a particular set of glyphs (specified as a family + a 
  41.  * point size (relative to the default).
  42.  */
  43. struct font_memo
  44. {
  45.   struct font_memo * next;
  46.   struct font_names * names;
  47.   double scale;            /* ratio of def pt. size to this */
  48.   int id_memo;            /* This is used by oleofile. */
  49. };
  50.  
  51. extern struct font_memo *font_list;
  52.  
  53.  
  54. #ifdef __STDC__
  55. extern void define_font (char * oleo_name, char * x_name, char * ps_name);
  56. extern struct font_memo * intern_font (char * oleo_name, double scale);
  57. extern struct font_memo * default_font (void);
  58. extern struct font_memo * matching_font (char * x_name, char * ps_name, double scale);
  59. extern struct font_memo * parsed_matching_font (char * fullname);
  60. extern void set_region_font (struct rng *rng, char * oleo_name, double scale);
  61. extern void flush_fonts (void);
  62. extern void set_x_default_font (char * str);
  63. extern void set_ps_font_cmd (char * ps_name);
  64. extern void set_default_font (char * name, double scale);
  65. extern void init_fonts (void);
  66.  
  67. #else
  68. extern void define_font ();
  69. extern struct font_memo * intern_font ();
  70. extern struct font_memo * default_font ();
  71. extern struct font_memo * matching_font ();
  72. extern struct font_memo * parsed_matching_font ();
  73. extern void set_region_font ();
  74. extern void flush_fonts ();
  75. extern void set_x_default_font ();
  76. extern void set_ps_font_cmd ();
  77. extern void set_default_font ();
  78. extern void init_fonts ();
  79.  
  80. #endif
  81.  
  82.  
  83. #endif
  84.